import type { RNTesterModuleInfo } from '../types/RNTesterTypes';

const Components: Array<RNTesterModuleInfo> = [
  {
    key: 'ButtonExample',
    category: 'UI',
    module: require('../examples/Button/ButtonExample'),
  },
  {
    key: 'SmartAssetsImage',
    category: 'UI',
    module: require('../examples/react-native-smartassets/SmartAssetsImage'),
  },
  {
    key: 'ReactNativeButton',
    category: 'Basic',
    module: require('../examples/react-native-button/index'),
  },
  {
    key: 'react-native-wechat-lib',
    category: 'Tools',
    module: require('../examples/react-native-wechat-lib/App').default,
  },
  {
    key: 'react-native-video',
    category: 'Basic',
    module: require('../examples/react-native-video-6.13.0/TestVideo'),
  },
  {
    key: 'react-native-harmony-screens',
    category: 'Navigation',
    module: require('../examples/react-native-harmony-screens/Example').default,
  },
  {
    key: 'react-native-ffmpeg-kit',
    category: 'Video',
    module: require('../examples/react-native-ffmpeg-kit/main').default,
  },
  {
    key: 'react-native-nested-scroll',
    category: 'UI',
    module: require('../examples/react-native-nested-scroll/Home').default,
  },
  {
    key: 'ReactNativeSoundPlayer',
    category: 'Basic',
    module: require('../examples/react-native-sound-player/App').default,
  },
  {
    key: 'pull-to-refrsh',
    category: 'UI',
    module: require('../examples/pull-to-refresh/home').default,
  },
  {
    key: 'photo-manipulator',
    category: 'Tools',
    module: require('../examples/photo-manipulator/App').default,
  },
  {
    key: 'colorpicker',
    category: 'UI',
    module: require('../examples/react-native-color-picker/App').default,
  },

  {
    key: 'teaset',
    category: 'UI',
    module: require('../examples/teaset/App').default,
  }
];

const APIs: Array<RNTesterModuleInfo> = [
  {
    key: 'BorderExample',
    category: 'UI',
    module: require('../examples/Border/BorderExample'),
  },
];

const Modules: any = {};

APIs.concat(Components).forEach(Example => {
  Modules[Example.key] = Example.module;
});

const RNTesterList = {
  APIs,
  Components,
  Modules,
};

export default RNTesterList;
